// Cette fonction calcule le supplément de base de cotisation // pour les salariés à temps partiel qui ont choisi de cotiser à temps plein. // Ce supplément de base de cotisation est éclaté en 2 parties : la part plafonnée et la part au delà du plafond. Heures,Montant sont des réels ListeRubriques est une chaine = "0400;0524;0525" // On somme les nombres d'heures et montant des rubriques correspondant au salaire de base Temps partiel // y compris les éventuelles heures complémentaires POUR TOUTE CHAINE UneRubrique de ListeRubriques SEPAREE PAR ";" HlitRecherchePremier("CALIBU","KLIBU5",[CAENBU.COSO,CAENBU.NPPE,UneRubrique,CAENBU.MPAY,CAENBU.NOBU]) TANTQUE HTrouve("CALIBU") Heures+=CALIBU.NBRE Montant+=CALIBU.MONT HlitSuivant("CALIBU","KLIBU5") FIN FIN // Calcul du complément de salaire fictif pour arriver à un salaire temps plein // au prorata (Heures demandées temps plein / Heures effectuées ce mois) // Le nombre d'heures "temps plein" est reçu dans la colonne Nombre // A défaut, on calcule ce prorata selon ce taux de temps partiel SF est un réel SI CAELVA.NBRE=0 ET PEPACT.TTTP<>0 ALORS SF = Arrondi(Montant * 100 / PEPACT.TTTP, 2) - Montant SINON SI Heures < CAELVA.NBRE ALORS SF = Arrondi(Montant * CAELVA.NBRE / Heures, 2) - Montant FIN FIN // Lecture des cumuls nécessaires au calcul des tranches A et B sur ce complément de salaire fictif // Attention : il faut conserver le test des cumuls "vides" car sinon, on a une erreur à l'exécution, // due sans doute à la compilation dynamique "L'opérateur . est interdit sur un élément de type BRAB" CotisationPlafonnéeSR est une chaine = CAELVA.NORU[[1 à 4]] // N° de la cotisation plafonnée sur salaire réel CotisationPlafonnéeSF est une chaine = CAELVA.NORU[[1 à 4]]+"S" // N° de la cotisation plafonnée sur salaire fictif CotisationPlafonnéeST est une chaine = CAELVA.NORU[[1 à 4]]+"T" // N° de la cotisation plafonnée sans prorata plafond temps partiel BrutSR, BasePlafSR, BrutSF1, BasePlafSF1, PlafondTotal1 sont des réels SI PAS tCumulsCotis[CotisationPlafonnéeSR]..vide ALORS BrutSR = tCumulsCotis[CotisationPlafonnéeSR].BRAB BasePlafSR = tCumulsCotis[CotisationPlafonnéeSR].BASE FIN SI PAS tCumulsCotisPrécédent[CotisationPlafonnéeST]..vide ALORS PlafondTotal1 = tCumulsCotisPrécédent[CotisationPlafonnéeST].PLAF FIN SI PAS tCumulsCotisPrécédent[CotisationPlafonnéeSF ]..vide ALORS BrutSF1 = tCumulsCotisPrécédent[CotisationPlafonnéeSF ].BRAB BasePlafSF1 = tCumulsCotisPrécédent[CotisationPlafonnéeSF ].BASE FIN // Calcul du reste à absorber en TA (et en TB par différence) // - Calcul du brut total BrutTotal est un réel = BrutSR + BrutSF1 + SF //Trace("Salarié "+CAENBU.NPPE+", Rubrique "+CAELVA.NORU) //Trace(" BrutSR : "+NumériqueVersChaine(BrutSR,"9,2F")) //Trace(" BasePlafSR : "+NumériqueVersChaine(BasePlafSR,"9,2F")) //Trace(" BrutSF1 : "+NumériqueVersChaine(BrutSF1,"9,2F")) //Trace(" BasePlafSF1 : "+NumériqueVersChaine(BasePlafSF1,"9,2F")) //Trace(" PlafondTotal1 : "+NumériqueVersChaine(PlafondTotal1,"9,2F")) //Trace(" BrutTotal : "+NumériqueVersChaine(BrutTotal,"9,2F")) trancheA est un réel = Min(BrutTotal, (PlafondTotal1+PlafondSSprorata31)) - BasePlafSR - BasePlafSF1 trancheB est un réel = SF - trancheA // Selon la rubrique qui fait appel à cette fonction personnalisée : // On renvoit le supplément en TA (pour report sur les cotisations TA sur salaire fictif) // le supplément en TB si TB positive (pour report sur les cotisations TB sur salaire fictif) // le supplément en TB si TB négative (pour déduction sur les cotisations TB sur salaire réel) ValeurRenvoyée est un réel Selon CAELVA.NORU[[5 à 6]] Cas "A" : ValeurRenvoyée=trancheA Cas "B" : SI trancheB>0 ALORS ValeurRenvoyée=trancheB Cas "BN" : SI trancheB<0 ALORS ValeurRenvoyée=trancheB FIN RENVOYER ValeurRenvoyée